Class DATENBANK

java.lang.Object
  extended by DATENBANK

public class DATENBANK
extends java.lang.Object

Die Klasse Datenbank sorgt dafür, dass das Quiz auf eine Datenbank im Internet zugreifen kann.

Version:
Author:
Roman Haas / Florian Hirschmann

Constructor Summary
DATENBANK()
           
 
Method Summary
 void abmelden()
          Die Methode abmelden() schließt die Verbindung zur Datenbank.
 java.sql.Connection anmeldenAccess(java.lang.String datenbank)
          Anmeldung bei der Access-Datenbank.
 int anzahlDownload(int sgm, int nicht, int not)
          Ermittlung der Anzahl der Fragen der eingegebenen Schwierigkeit.
 void downloadHighscores()
          Methode für den Anfang, bei der alle Highscoreelemente nacheinander heruntergeladen werden.
 void downloadKlassen()
          Die Methode downloadKlassen() stellt eine Verbindung zur Onlinedatenbank her und speichert dann lokal die Klassen der 10 besten Spieler in einem Array.
 void downloadNamen()
          Die Methode downloadNamen() stellt eine Verbindung zur Onlinedatenbank her und speichert dann lokal die Namen der 10 besten Spieler in einem Array.
 void downloadPunkte()
          Die Methode downloadPunkte() stellt eine Verbindung zur Onlinedatenbank her und speichert dann lokal die Punkte der 10 besten Spieler in einem Array.
 int frageDownload(int sgm)
          Holt eine zufällige Frage aus der DB.
 int frageDownload2(int sgm, int nicht, int not)
          fragedownload2 lädt wie fragedownload auch eine Frage aus der Datenbank, wobei die eigegebenen IDS nicht mehr enthalten sein können.
 java.util.List<java.lang.String[]> frageGeben(int schwierigkeit)
          Die Methode gibt 3 Fragen als Liste aus.
 int[] getKlassen()
          Die Methode getKlassen() gibt die Klassen der 10 besten Spieler aus.
 java.lang.String[] getNamen()
          Die Methode getNamen() gibt die namen der 10 besten Spieler aus.
 int[] getPunkte()
          Die Methode getPunkte() gibt die Punkte der 10 besten Spieler aus.
 void neuerHighscore(java.lang.String n, int p, int k)
          Mit der Methode neuerHighscore(String n, int p, int k) kann ein neuer Highscore gespeichert werden.
 int random(int n)
          Die Methode random gibt eine Zufallszahl aus.
 void setKlassen(int[] k)
          Mit der Methode setKlasse(int k[]) können die gespeicherten Klassen für die Highscores überschrieben, also bearbeitet werden.
 void setNamen(java.lang.String[] n)
          Mit der Methode setNamen(String n[]) können die gespeicherten Namen für die Highscores überschrieben, also bearbeitet werden.
 void setPunkte(int[] p)
          Mit der Methode setPunkte(int p[]) können die gespeicherten Punkte für die Highscores überschrieben, also bearbeitet werden.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DATENBANK

public DATENBANK()
Method Detail

abmelden

public void abmelden()
Die Methode abmelden() schließt die Verbindung zur Datenbank.


anmeldenAccess

public java.sql.Connection anmeldenAccess(java.lang.String datenbank)
Anmeldung bei der Access-Datenbank.

Parameters:
datenbank - Der Dateiname der Datenbank, zu der eine Verbinddung aufgebaut werden soll.
Returns:
Gibt eine Connection zu der Datenbank aus.

anzahlDownload

public int anzahlDownload(int sgm,
                          int nicht,
                          int not)
Ermittlung der Anzahl der Fragen der eingegebenen Schwierigkeit.

Parameters:
sgm - Schwierigkeitsgrad der Fragen
nicht - die ID der ersten Frage, die nicht gestellt werden soll.
not - die ID der zweiten Frage, die nicht gestellt werden soll.
Returns:
Anzahl der Fragen, die in der Datenbank eines Schwierigkeitsgrades vorhanden sind.

downloadHighscores

public void downloadHighscores()
Methode für den Anfang, bei der alle Highscoreelemente nacheinander heruntergeladen werden. Sie dient vor allem der Übersichtlichkeit.


downloadKlassen

public void downloadKlassen()
Die Methode downloadKlassen() stellt eine Verbindung zur Onlinedatenbank her und speichert dann lokal die Klassen der 10 besten Spieler in einem Array.


downloadNamen

public void downloadNamen()
Die Methode downloadNamen() stellt eine Verbindung zur Onlinedatenbank her und speichert dann lokal die Namen der 10 besten Spieler in einem Array.


downloadPunkte

public void downloadPunkte()
Die Methode downloadPunkte() stellt eine Verbindung zur Onlinedatenbank her und speichert dann lokal die Punkte der 10 besten Spieler in einem Array.


frageDownload

public int frageDownload(int sgm)
Holt eine zufällige Frage aus der DB.

Parameters:
sgm - Ist der Schwierigkeitsgrad der Frage
Returns:
Gibt eine Array mit Frage, Antworten und der richtigen Antwort

frageDownload2

public int frageDownload2(int sgm,
                          int nicht,
                          int not)
fragedownload2 lädt wie fragedownload auch eine Frage aus der Datenbank, wobei die eigegebenen IDS nicht mehr enthalten sein können.

Parameters:
sgm - Schwierigkeitsgrad
nicht - die erste ID, die nicht ausgewählt werden darf
not - die zweite ID, die nicht ausgewählt werden darf
Returns:
die ID der Frage, die dann gestellt werden soll.

frageGeben

public java.util.List<java.lang.String[]> frageGeben(int schwierigkeit)
Die Methode gibt 3 Fragen als Liste aus. Dafür werden aus dem aktuellen Schwierigkeitsgrad 3 Fragen zufällig runtergeladen und ausgegeben.

Returns:
Die Liste enthält 3 Arrays mit jeweils 6 Strings. Der erste String beinhaltet jeweils die Frage, der zweite bis fünfte String speichert die Antwortmöglichkeiten und der letzte String enthält die richtige Antwort.

getKlassen

public int[] getKlassen()
Die Methode getKlassen() gibt die Klassen der 10 besten Spieler aus.

Returns:
Es wird ein Array, dass die Klassen der 10 besten Spieler enthält, ausgegeben.

getNamen

public java.lang.String[] getNamen()
Die Methode getNamen() gibt die namen der 10 besten Spieler aus.

Returns:
Es wird ein Array, dass die Namen der 10 besten Spieler enthält, ausgegeben.

getPunkte

public int[] getPunkte()
Die Methode getPunkte() gibt die Punkte der 10 besten Spieler aus.

Returns:
Es wird ein Array, dass die Punkte der 10 besten Spieler enthält, ausgegeben.

neuerHighscore

public void neuerHighscore(java.lang.String n,
                           int p,
                           int k)
Mit der Methode neuerHighscore(String n, int p, int k) kann ein neuer Highscore gespeichert werden. Hierfür wird erst eine Verbindung zur Datenbank hergestellt und dann ein neuer Eintrag mit den eingegebenen Daten in die Datenbank angelegt.

Parameters:
n - In dem String n soll der Name des Spieler gespeichert werden, der dann so in die Datenbank eingetragen wird.
p - In dem Integer p soll der Punktestand des Spieler gespeichert werden, der dann so in die Datenbank eingetragen wird.
k - In dem Integer k soll die erreichter Klasse des Spieler gespeichert werden, ddann so in die Datenbank eingetragen wird.

random

public int random(int n)
Die Methode random gibt eine Zufallszahl aus.

Parameters:
n - n ist ein Faktor, mit dem eine zufällig generierte Zahl multipliziert wird.
Returns:
Das Ergebnis der Mulitplikation von n und der Zufallszahl wird als Integer b ausgegeben.

setKlassen

public void setKlassen(int[] k)
Mit der Methode setKlasse(int k[]) können die gespeicherten Klassen für die Highscores überschrieben, also bearbeitet werden.

Parameters:
k - In dem Array k werden die Integers gespeichert, mit denen die klassen überschrieben werden sollen.

setNamen

public void setNamen(java.lang.String[] n)
Mit der Methode setNamen(String n[]) können die gespeicherten Namen für die Highscores überschrieben, also bearbeitet werden.

Parameters:
n - In dem Array n werden die Strings gespeichert, mit denen die namen überschrieben werden sollen.

setPunkte

public void setPunkte(int[] p)
Mit der Methode setPunkte(int p[]) können die gespeicherten Punkte für die Highscores überschrieben, also bearbeitet werden.

Parameters:
p - In dem Array p werden die Integers gespeichert, mit denen die punkte überschrieben werden sollen.